Intelligent Presentation of Documents

ABSTRACT

In some implementations, documents can be presented on a display of a computing device based on a context of the computing device. The context can include a current time and/or current location associated with the computing device. The documents can be presented based on a time and/or location associated with the documents. Documents can be downloaded and shared between devices. Documents can be dynamically updated based on document vendor provided information and/or other network based resources. In some implementations, the various graphical interfaces described herein provide access to a variety of document types in an organized and efficient manner.

TECHNICAL FIELD

The disclosure generally relates to managing and presenting documents ona display of a computing device.

BACKGROUND

Loyalty cards, identification cards, coupons, tickets, boarding passesand other documents are used by people every day when making purchases,proving identity, gaining access to events and when travelling. With theubiquitous use of mobile computing devices, many of these documents havebeen digitized and are stored on mobile computing devices. However,managing and accessing the digitized versions of these documents on themobile computing device can be cumbersome and time consuming.

SUMMARY

In some implementations, documents can be presented on a display of acomputing device based on a context of the computing device. The contextcan include a current time and/or current location associated with thecomputing device. The documents can be presented based on a time and/orlocation associated with the documents. Documents can be downloaded andshared between devices. Documents can be dynamically updated based ondocument vendor provided information and/or information from othernetwork based resources. In some implementations, the various graphicalinterfaces described herein provide access to a variety of documenttypes in an organized and efficient manner.

Particular implementations provide at least the following advantages:Documents can be presented in anticipation of a user's need to use thedocuments. Documents can be presented so that they are easilyaccessible. Documents can provide dynamically updated informationassociated with the documents so that the user has easy access to themost up to date information.

Details of one or more implementations are set forth in the accompanyingdrawings and the description below. Other features, aspects, andpotential advantages will be apparent from the description and drawings,and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 illustrates an example system for receiving, storing and updatingdocuments on a mobile device.

FIG. 2 illustrates an example of a new document interface.

FIG. 3 illustrates an example graphical interface for presentingdocuments based on time and/or location.

FIG. 4 illustrates an example graphical interface for presentingdocument 402 on the mobile device.

FIG. 5 illustrates an example graphical interface of a documentmanagement application.

FIG. 6 illustrates an example graphical interface of a documentmanagement application.

FIG. 7 illustrates an example graphical interface for presentingmultiple related documents.

FIG. 8 illustrates an example graphical interface for presentingmultiple related documents.

FIG. 9 illustrates an example graphical interface for presentingmultiple related documents.

FIG. 10 illustrates an example graphical interface for presentingmultiple related documents.

FIG. 11 illustrates an example graphical interface for presenting aselected document.

FIG. 12 illustrates an example event ticket template.

FIG. 13 illustrates an example identification card template.

FIG. 14 illustrates an example customer loyalty card template.

FIG. 15 illustrates an example discount coupon template.

FIG. 16 illustrates an example boarding pass template.

FIG. 17 illustrates an example generic document template.

FIG. 18 illustrates an example graphical interface for specifyingdocument options.

FIG. 19 illustrates an example graphical interface for deletingdocuments from the mobile device.

FIG. 20 illustrates an example graphical interface for deleting adocument.

FIG. 21 is flow diagram of an example process for intelligentlypresenting document notifications on a mobile device.

FIG. 22 is flow diagram of an example process for presenting documentson a mobile device.

FIG. 23 is flow diagram of an example process for receiving and storingdocuments on a mobile device.

FIG. 24 is a block diagram of an exemplary system architectureimplementing the features and processes of FIGS. 1-23.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

Overview

This disclosure describes various Graphical User Interfaces (UIs) forimplementing various features, processes or workflows. These GUIs can bepresented on a variety of electronic devices including but not limitedto laptop computers, desktop computers, computer terminals, televisionsystems, tablet computers, e-book readers and smart phones. One or moreof these electronic devices can include a touch-sensitive surface. Thetouch-sensitive surface can process multiple simultaneous points ofinput, including processing data related to the pressure, degree orposition of each point of input. Such processing can facilitate gestureswith multiple fingers, including pinching and swiping.

When the disclosure refers “to select” or “selecting” user interfaceelements in a GUI, these terms are understood to include clicking or“hovering” with a mouse or other input device over a user interfaceelement, or touching, tapping or gesturing with one or more fingers orstylus on a user interface element. User interface elements can bevirtual buttons, menus, selectors, switches, sliders, scrubbers, knobs,thumbnails, links, icons, radial buttons, checkboxes and any othermechanism for receiving input from, or providing feedback to a user.

FIG. 1 illustrates an example system 100 for receiving, storing andupdating documents on a mobile device. For example, the documents ofsystem 100 can include customer loyalty cards, event tickets, vouchers,coupons, boarding passes, identification cards, key cards (e.g., cardsto access hotel rooms, houses, cars, etc.) or any other type ofdocument. In some implementations, system 100 can include mobile device102. For example, mobile device 102 can be a laptop computer, asmartphone, a feature phone, a tablet computer or any other type ofcomputing device.

In some implementations, mobile device 102 can include applications thata user of mobile device 102 can use to obtain various documents. Forexample, mobile device 102 can include browser 104. Browser 104 can beused to access webpages where the user can purchase tickets to an event,boarding passes for travel or other types of documents. Browser 104 canbe used to access webpages where the user can subscribe to customerloyalty programs of various vendors or commercial enterprises. Thedocument information 106 generated by these transactions can bedownloaded or transmitted to mobile device 102 through browser 104. Forexample, information associated with the purchased ticket, boarding passor other documents can be transmitted to mobile device 102 throughbrowser 104. Information associated with a customer loyalty card oraccount generated by the user's subscription to a customer loyaltyprogram can be transmitted to mobile device 102 through browser 104.

In some implementations, mobile device 102 can include application 108.For example, application 108 can be client application to a network(e.g., Internet) service that allows a user to download documents.Application 108 can be a client application that allows the user topurchase event tickets and download the event tickets to mobile device102. Application 108 can be a travel application that allows the user topurchase airplane boarding passes and hotel accommodations. When a userpurchases items through application 108, document information 106associated with those purchases can be download to mobile device 108through application 108.

In some implementations, mobile device 102 can include email application110. For example, instead of receiving document 106 through browser 104or application 108, mobile device 102 can receive document information106 as an email attachment. For example, browser 104 and/or application108 may not be configured to allow document downloads. Thus, if a userpurchases a document using browser 104 or application 108, the onlinevendor can send to the user an email having document information 106attached.

In some implementations, mobile device 102 can include wireless receiver114. For example, wireless receiver 114 can be configured to receiveWi-Fi signals, Bluetooth signals, near field communication signals orany other type of wireless or radio signals. In some implementations,wireless receiver 114 can receive document information 106 encoded in awireless transmission. For example, computing devices can share documentinformation 106 by encoding document information 106 into wirelesssignals and transmitting the wireless signals to other devices. Mobiledevice 102 can, for example, receive document information 106 fromanother computing device.

In some implementations, mobile device 102 can include image capturedevice 112. For example, image capture device 112 can be a digitalcamera that is built into mobile device 102. In some implementations, auser can use image capture device 112 to capture document information106 encoded on a physical document. For example, a paper, plastic orother physical document can have a bar code, quick response code, linearbar codes, matrix codes, or any other type of code that can be opticallyscanned. The user can capture an image of the paper document using imagecapture device 112 and mobile device 102 can determine documentinformation 106 based on the captured image. For example, an image ofthe document can be captured and optical character recognition softwarecan be used to determine document information 106.

In some implementations, document information 106 can include all of theinformation for generating a document on mobile device 102. For example,document information 106 can include the user's name, vendorinformation, user's account identifier and other information forgenerating a document on mobile device 102. In some implementations,document information 106 can include a document template identifier anddata associated with the document template, as described further below.

In some implementations, only a minimum amount of information isincluded in document information 106. For example, the minimuminformation can include a transaction identifier and a vendor URL(uniform resource locator). Mobile device 102 can use the vendor URL toaccess a document vendor server 118 through network 116. Mobile device102 can transmit document information 106 to document vendor server 118.Document vendor server 118 can use the transaction identificationinformation contained in document information 106 to identifyinformation associated with a document and provide the complete documentinformation to mobile device 102. Once mobile device 102 receives thedocument information from vendor server 118, mobile device can generatedocument 102 and store document 102 in document database 122. Forexample, based on the document information received from vendor server118, mobile device 102 can identify a document template and populate thedocument template with the document information provided by documentvendor server 118, as described further below.

In some implementations, document 102 can be stored on a network device.For example, document database 122 can be a network or cloud-baseddatabase. Mobile device 102 can store document 102 on a network deviceand access document 102 as needed from the network device.

New Document Interface

FIG. 2 illustrates an example of a new document interface 200. Forexample, new document interface 200 can be presented when documentinformation is received by mobile device 102, as described above. Forexample, if document information is received from a website through abrowser application, the graphical interface of the browser applicationcan be replaced on the display of the mobile device with new documentinterface 200. Similarly, if document information is received throughanother application, the displayed application can be replaced on thedisplay of the mobile device with new document interface 200.

In some implementations, new document interface 200 can present newlygenerated document 202. New document 202 can correspond to the documentinformation received at the mobile device and can be generated based ona document template, described below. New document 202 can includevendor-provided data specific to the newly generated document. Forexample, if new document 202 corresponds to a boarding pass, newdocument 202 can display flight information associated with the boardingpass. If new document 202 is the only document currently stored on themobile device, then new document 202 can be the only document displayedon new document interface 202. If new document 202 is not the onlydocument currently stored on the mobile device, then the other documentscurrently stored on the mobile device can be presented in an overlappingpresentation 204.

In some implementations, an animation can be presented when adding a newdocument to documents stored on the mobile device. For example, to savenew document 202 on the mobile device a user can select graphicalelement 206. In response to the selection of graphical element 206,document 202 can be animated to appear to be inserted into theoverlapping presentation 204. For example, document 202 can slidedownward across the display of the mobile device until the new documentis inserted into the stack of other documents on the mobile device. Insome implementations, the user can return to the previous application byselecting graphical element 208. In response to the selection ofgraphical element 208, new document interface 200 can be replaced on thedisplay of the mobile device by the application that received the newdocument. For example, if the user was viewing an email applicationbefore new document interface 200 was displayed, the email applicationcan replace new document interface 200 on the display when graphicalelement 208 is selected.

Intelligent Presentation of Documents

FIG. 3 illustrates an example graphical interface 300 for presentingdocuments based on time and/or location. In some implementations,documents stored on the mobile device can be associated with a time(e.g., a predetermined date and/or time). Boarding passes fortransportation can be associated with a departure and/or boarding time.Event tickets (e.g., concert ticket, movie tickets, etc.) can beassociated with an event start time. Sale coupons can be associated withan expiration date. In some implementations, when the current time isclose to the predetermined time associated with the document, thedocument can be presented on graphical interface 300 in anticipation ofthe user's imminent use of the document. In some implementations, adocument can be associated with a time period or window for presentationof the document. For example, if the document is a discount coupon withan expiration date, the discount coupon can be associated with a windowof one week in which the discount coupon can be presented on graphicalinterface 300. The one week window can be a one week period of timeprior to and including the expiration date of the discount coupon.

In some implementations, documents stored on the mobile device can beassociated with a location. For example, discount coupons and customerloyalty cards can be associated with a location of a store. Boardingpasses can be associated with a location of a transportation hub (e.g.,airport, bus terminal, train station, etc.). In some implementations,when the mobile device detects that the current location of the mobiledevice is proximate to a location associated with a document, thedocument can be displayed. For example, if the mobile device's currentlocation is proximate to a location of a store associated with a loyaltycard stored on the mobile device, the loyalty card document can bedisplayed on graphical interface 300.

In some implementations, graphical interface 300 can be a lock displayof a mobile device. For example, graphical interface 300 can be aninterface that is displayed when the mobile device is in a locked statewhere a password or code is required to access functions of the mobiledevice. Graphical interface 300 can be the first interface seen by theuser when the user wakes the mobile device from a sleep or low powerstate.

In some implementations, graphical interface 300 can present documentnotification 302. For example, document notification 302 can correspondto an airline boarding pass document stored on the mobile device.Document notification 302 can be presented on graphical interface 300when the mobile device detects that the mobile device is proximate to alocation (e.g., the airport) associated with the boarding pass documentand/or a time (e.g., boarding or departure time) associated with theboarding pass document. Document notification 302 can presentinformation associated with the boarding pass document. For example,document notification 302 can present an abstract or portion (e.g.,select items) of information associated with the boarding pass document.Document notification 302 can present the name of the airline, a gatenumber and departure time, for example. Document notification 302 canindicate how many boarding passes are stored on the mobile device. Forexample, if a family is travelling together, the boarding passes foreach member of the family can be stored on the mobile device. The numberof boarding passes for a particular trip can be indicated by graphicalelement 308, for example.

In some implementations, a user can select document notification 302 tocause the associated boarding pass document to be displayed. Forexample, a user can perform a swipe gesture 310 to cause the boardingpass document to be displayed. In some implementations, the user candrag graphical element 312 (e.g., document icon) across documentnotification 302 to cause the boarding pass document to be displayed.

In some implementations, multiple document notifications can bedisplayed. For example, document notification 302 and documentnotification 304 can be displayed on graphical interface 300. Forexample, document notification 304 can correspond to a customer loyaltycard for a coffee house. Document notification 304 can be displayed whenthe current location of the mobile device is proximate to an address ofthe coffee house, for example. Document notification 304 can present anabstract of information associated with the coffee house customerloyalty card. For example, if the coffee house card can be used topurchase coffee at the coffee house and the card is associated with anaccount balance (e.g., $16), then the account balance can be displayedon document notification 304. Document notification 304 can display thenearest location of the coffee house store, for example.

In some implementations, a user can select document notification 304 tocause the associated coffee house document to be displayed on the mobiledevice. For example, a user can provide touch input 314 and swipe downstarting at a location of document notification on the mobile device. Asthe user swipes (e.g., pulls) down on the notification, the associateddocument can be revealed and/or displayed on the mobile device.

In some implementations, document notifications can be presented nearthe bottom of graphical interface 300. For example, documentnotification 306 can be presented near the bottom of graphical interface300. A user can provide touch input 316 (e.g., an upward swipe) to causethe associated document to be displayed.

In some implementations, document notifications can be presented inresponse to receiving a document information update. For example, whenthe mobile device receives an update to flight information associatedwith a boarding pass document, a document notification corresponding tothe boarding pass document can be presented on graphical interface 300.The document notification can present the changed flight information sothat the user can be quickly informed of the change. For example, thechanged information can be highlighted using colored text or graphicalobjects (e.g., icons, animations, etc.) that draw the user's attentionto the changed information, as described further below.

In some implementations, after a selection of document notification 302,304, or 306 is received, the user's identity can be verified and theuser can be confirmed to be an authorized user of the mobile deviceand/or document associated with the selected document notification. Forexample, the user can be prompted for an unlock code or password for themobile device. The document associated with the selected notificationcan be presented after the user enters the correct code or password.

In some implementations, the mobile device can be configured tobiometrically verify the identity of the user. In some implementations,the mobile device can be configured to verify the user's identity basedon the user's fingerprint. For example, the mobile device scan theuser's fingerprint and compare the scanned fingerprint to a previouslyauthenticated fingerprint of an authorized user of the mobile deviceand/or selected document. The previously authenticated fingerprint (orbiometric data derived from the previously authenticated fingerprint)can be stored on the mobile device or stored on a remote server. Thestored fingerprint can be retrieved from the local or remote storagelocation when the mobile device performs the fingerprint comparisonduring the user verification process.

In some implementations, the mobile device can be configured to verifythe user's identity using facial recognition techniques. For example,the mobile device can be configured with a camera that can capture animage of the user's face when the user selects a document. The capturedimage can be compared to a previously authenticated image of the user(or biometric data derived from a previously captured image of the user)to verify the identity of the user who selected the document. Thecaptured image (or biometric data) can be stored on the mobile device ora remote server and accessed when the mobile device compares thecaptured image to the previously authenticated image and/or biometricdata.

In some implementations, biometric authentication can be performed usingsensors (e.g., camera, finger scanner, etc.) configured on the mobiledevice. In some implementations, biometric authentication can beperformed using a touch-sensitive display screen of the mobile device.For example, when the user touches the touch-screen interface of themobile device, the mobile device can capture the fingerprint of theuser.

In some implementations, user authentication/verification using thetechniques described above (e.g., password, fingerprint, facialrecognition, etc.) can be performed in response to a user selecting adocument notification or in response to a user selecting a document(e.g., selecting a document to view). In some implementations, userauthentication/verification can be performed when the user attempts toinitiate a transaction using a document stored on the mobile device. Forexample, if the user attempts to use a document to make a purchase, themobile device can scan the user's fingerprint (or face) and verify thatthe user is an authorized user of the document before allowing thepurchase or presenting (e.g., displaying, transmitting, etc..)information to facilitate the purchase. In some implementations,biometric authentication/verification can be performed passively. Forexample, as the user makes a document selection using touch input on atouch screen display, the mobile device can capture the fingerprint ofthe user. Likewise, the mobile device can capture an image of the user'sface as the user makes a selection of a document. Thus, passivebiometric authentication can be performed such that the user does nothave to provide authentication-specific input. For example,authentication-specific input can be a user providing a fingerprint astouch input to the mobile device in response to anauthentication/verification prompt presented by the mobile device (e.g.,where the sole purpose of the touch input is authentication of theuser).

FIG. 4 illustrates an example graphical interface 400 for presentingdocument 402 on the mobile device. For example, graphical interface 400can be presented in response to a user selecting document notification302 of FIG. 3. Document 402 can be an airline boarding pass document,for example. If document notification 304 or 306 is selected, graphicalinterface 400 can present a coffee house customer loyalty card document,for example.

In some implementations, document 402 can present vendor-providedinformation associated with document 402. For example, document 402 canpresent airline provided information associated with a boarding pass,including airline name, departure gate, name of passenger, seat number,flight number, departure time, departure location, arrival time, arrivallocation and any other relevant travel information. In someimplementations, if multiple boarding passes associated with the sameflight are stored on the mobile device, document 402 can include anindication of the number of boarding passes (e.g., 1 of 3) stored on themobile device. If multiple boarding pass documents exist on the mobiledevice, the user can provide input (e.g., touch input, swipe gesture) tonavigate between the boarding pass documents.

In some implementations, document 402 can include an optically scannableand/or machine-readable graphical element 404. For example, graphicalelement 404 can be a two-dimensional bar code or code matrix that can bescanned by a bar code reader, camera and/or other optical scanningdevice. When the user uses document 402 to board an airplane, forexample, an airport employee can scan graphical element 404 to processthe boarding pass and retrieve information associated with a passenger.In some implementations, near field communications technologies,Bluetooth, and/or other wireless transmission mechanisms can be used totransmit document information and facilitate transactions between a userand a vendor.

Document Management Application

FIG. 5 illustrates an example graphical interface 500 of a documentmanagement application. For example, the mobile device can include adocument management application. The user can invoke the documentmanagement application by selecting a graphical element (e.g., an icon)presented on a user interface of the mobile device. Graphical interface500 can be presented on the display of the mobile device in response toan invocation of the document management application. In someimplementations, if the mobile device is currently storing only onedocument, then graphical interface 500 will present the document in amanner similar to graphical interface 400. If the mobile device isstoring two documents, the documents can be tiled in graphical interface500 such that both documents can be fully viewed.

In some implementations, when three or more documents are stored on themobile device, the documents can be displayed in an overlappingpresentation, as illustrated by FIG. 5. For example, when the documentsare displayed in an overlapping presentation, a portion (e.g., topportion) of each document can be displayed and the portion can presentan abstract of the information associated with the document. Forexample, the abstract information can include a selection of the mostimportant or useful information associated with each document. Thisinformation can include the name of the document vendor (e.g., abusiness associated with the document), and other information that theuser might wish to know by glancing at the displayed portion of thedocument. For example, account balances, gate numbers, seat numbers,event locations and times, discount offers and discount amounts can bepresented in the displayed portion of the document so that the user canquickly determine important information about the document withouthaving to select the document.

In some implementations, a user can select the displayed portion of thedocument to cause a full view of the document to be displayed. Forexample, graphical interface 500 can display document abstracts 502-510.The document abstracts can include the most important (e.g., mostuseful) document information. For example, the document abstracts canpresent information that distinguishes one document from anotherdocument. Document abstract 502 can correspond to an airline boardingpass document. Document abstract 504 can correspond to a customerloyalty card (e.g., purchase card) document. Document abstract 506 cancorrespond to an event ticket (e.g., concert ticket) document. Documentabstract 508 can correspond to an identification card document. Documentabstract 510 can correspond to a customer loyalty card document. A usercan select document abstract (e.g., document portion) 504 to present afull view of the corresponding customer loyalty card document.

In some implementations, when a user selects a document abstract ananimation can be presented in conjunction with the presentation of thecorresponding document. For example, when the user selects documentabstract 504, an animation can be presented that causes documentabstract 504 to move upward and the other document abstracts 502, 506,508 and 510 to move downward. The movement of the document abstracts isindicated by the dashed arrows on FIG. 5. As document abstract 504 movesupward a full view of the corresponding document can be revealed, asillustrated by FIG. 6.

Other mechanisms/animations can be implemented to present a full view ofa document in response to a selection of a document abstract. In someimplementations, when the user selects a document abstract thecorresponding document can fade into view while the non-selecteddocuments fade out of view on the display of the mobile device. In someimplementations, the non-selected documents can slide left or right offof the display to reveal the selected document. In some implementations,the selected document abstract can be shuffled to the front (e.g., theposition nearest the user) of the presentation of document abstracts.When the selected document abstract reaches the front of the of thedocument abstracts, the full version of the document can be displayed.

FIG. 6 illustrates an example graphical interface 600 of a documentmanagement application. For example, graphical interface 600 can bepresented in response to a user selecting document abstract 504 of FIG.5. Graphical interface 600 illustrates the result of the animationtriggered by the selection of document abstract 504. For example, thedocument abstracts 502, 504, 506 and 508 that were not selected by theuser can be moved to the bottom of the display and presented in anoverlapping manner. The selected document abstract 504 can be moved tothe top of the display. As the animation is presented a full view of thedocument 602 corresponding to the selected document abstract 504 can bepresented. The effect of the animation is to present a simulation of aphysical card, file, or folder being pulled out of a stack of cards, afiling cabinet, wallet or other physical storage mechanism.

In some implementations, document 602 can present a full view of theinformation associated with the document. For example, compared documentabstract 504 that merely displays select items of information, document602 can present all of the information associated with the document.Document 602 can display a name of the document vendor, an accountbalance, the name of the document user/owner, account number, neareststore location, and other information relevant to the user's use of thedocument. In some implementations, document 602 can present an image604. Image 604 can include an image associated with the document vendor(e.g., a logo, trademark, etc.). Image 604 can be configured to presentadditional information, as described in further detail below.

In some implementations, document 602 can present scannable element 606.For example, element 606 can be a linear bar code, a matrix bar code, aquick response code, scannable text or other optical machine-readablerepresentation of data. Scannable element 606 can be encoded with dataassociated with document 602. For example, the encoded data can includea vendor identifier, vendor URL, user account number, a transactionnumber, or any other information associated with document 602. Scannableelement 606 can be presented to a vendor and scanned by an opticalscanning device or image capture device. The scannable element can bedecoded to extract the encoded document information. The encodeddocument information can be used to obtain a complete set of informationassociated with the scanned document. For example, the vendor URL andaccount number can be used to contact a vendor server and access accountinformation associated with the scanned document 602, as described abovewith reference to FIG. 1. The scannable element 606 can facilitate quickand easy transactions between the user of the mobile device and thedocument vendor, for example.

Presenting Related Documents

FIG. 7 illustrates an example graphical interface 700 for presentingmultiple related documents. For example, multiple boarding passdocuments can be related based on flight number, departure location anddeparture time. Event tickets can be related by event and time.Documents can be related based on how the documents were received. Forexample, documents that are received as a result of the sametransaction, received in the same communication (e.g., email) orreceived at the same time (or close to the same time) can be identifiedas related documents. When a user has multiple related tickets stored onthe mobile device, these tickets can be represented on graphicalinterface 700 by a single document abstract 502 and an indicator 702that informs the user that multiple documents exist that are related tothe document abstract. For example, document abstract 502 can includetext indicating that three boarding passes are available on the mobiledevice.

FIG. 8 illustrates an example graphical interface 800 for presentingmultiple related documents. For example, instead of presenting indicator703 on document abstract 502, interface 800 can indicate multiplerelated documents by displaying a stacked presentation 802 for themultiple related documents. The number of items in the stackedpresentation can correspond to the number of documents related todocument abstract 502. Stacked presentation 802 can have the appearanceof multiple stacked documents where the tops of each document arevisible, for example.

FIG. 9 illustrates an example graphical interface 900 for presentingmultiple related documents. For example, document 902 can be one ofthree related boarding passes. The boarding passes can be related basedon flight number, departure time, and/or departure location, forexample. In some implementations, only one of the three relateddocuments is presented at a time. For example, when a user selectsabstract 502 of FIG. 7 or FIG. 8, one of the documents (e.g., document902) corresponding to document abstract 502 can be displayed. In someimplementations, a user can provide input to document 902 to view thenext or previous related document. For example, if there are threerelated documents, selection of document abstract 502 can cause thefirst (e.g., 1 of 3) document to be displayed. A user can provide input(e.g., touch input, a tap, or a swipe) to document 902 to cause thesecond (e.g., 2 of 3) related document to be displayed. A user canprovide additional input to cause the third (e.g., 3 of 3) relateddocument to be displayed. For example, the user can provide touch input904 in the form of a left swipe (e.g., to show previous document) or aright swipe (e.g., to show next document) to navigate between therelated documents.

FIG. 10 illustrates an example graphical interface 1000 for presentingmultiple related documents. In some implementations, document abstractsfor related documents can be grouped on graphical interface 1000. Forexample, document abstracts 1002, 1004 and 1006 can correspond toboarding pass documents for the same flight. Instead of providing asingle document abstract and providing a multiple document indicator asin FIG. 7 or displaying an overlapping presentation as in FIG. 8,related document abstracts 1002, 1004 and 1006 can be displayedindependently and grouped together on graphical interface 1000. In someimplementations, when multiple related documents abstracts aredisplayed, the mobile device can automatically determine adistinguishing characteristic (e.g., the most important difference) foreach of the related documents to be displayed on the document abstract.For example, each boarding pass is associated with a differentpassenger. Thus, the passenger name for each boarding pass can bepresented on the corresponding document abstract to aid the user indistinguishing between the related document abstracts 1002, 1004 and1006. To view a corresponding document, a user can select documentabstract 1002, 1004 or 1006 to display the corresponding document. Inthis case, selection of document abstract 1002, 1004 or 1006 will causethe corresponding boarding pass document to be displayed.

In some implementations, when a user selects one of the grouped documentabstracts 1002, 1004 or 1006, an animation can be presented to revealthe selected document. For example, the animation can be similar to theanimation described with reference to FIG. 5. If the user selectsdocument abstract 1004, document abstract 1004 can move toward the topof the display. The unselected document abstracts 1002, 1006, 504, 506,508 and 510 can move toward the bottom of the display. The dashed arrowsof FIG. 10 indicate the movement of the document abstracts. As theanimation (e.g., movement of the document abstracts) is occurring, afull view of the document corresponding to document abstract 1004 can berevealed, as illustrated by FIG. 11

FIG. 11 illustrates an example graphical interface 1100 for presenting aselected document. For example, graphical interface 1100 can bepresented in response to the selection of document abstract 1004.Document 1102 can correspond to selected document abstract 1004 of FIG.10. The unselected document abstracts 1002, 1006 and 504 can bedisplayed in an overlapping presentation at the bottom of graphicalinterface 1100. If the user wishes to view the other documents that arerelated to document 1102 (e.g., documents corresponding to documentabstracts 1002 and 1006), the user can provide input selecting documentabstract 1002 or 1006 on graphical interface 1100. In response to theselection of document abstract 1002 or 1006, the corresponding documentcan be displayed on graphical interface 1100 in a similar manner asdocument 1102.

In some implementations, selection of document abstract 1002, 1006 or504 can cause an animation to be presented on graphical interface 1100.For example, if document abstract 1006 is selected, document 1102 can beanimated to move downward and into the overlapping presentation ofdocument abstracts 1002, 1006 and 504 until only an document abstract(e.g., document abstract 1004) of document 1102 is visible. Documentabstract 1006 can move upward to reveal the document corresponding todocument abstract 1006 until a full view of the corresponding documentis displayed similar to document 1102. Thus, the animation can appear asif the two documents switch or swap places on graphical interface 1100.

Document Templates

In some implementations, documents can be presented on the display ofthe mobile device according to predefined document templates. Forexample, a document template can specify the appearance of the documentand the location and type of information displayed on the document.Document templates can specify the look and feel of documents forportrait and/or landscape orientations. For example, a document can havea different layout in portrait orientation than landscape orientation.Different types of documents can be associated with different documenttemplates having different appearances that allow a user to quicklyidentify a type of document presented on the display of the mobiledevice based on its appearance. When document information is receivedfrom a document vendor, the information can include information thatidentifies a document template to be used to generate a document on themobile device. The document template can be identified by a templateidentifier or by document type data included in the vendor-provideddocument information. The document templates can determine the look andfeel of the documents presented on the graphical interfaces discussedabove in FIGS. 1-11.

In some implementations, the vendor-provided document information caninclude data to be presented on the document, color schemes, images andother information for generating a document on the mobile device. Forexample, each document template can include data fields that can bepopulated by vendor provided data. In some implementations, the vendorcan dynamically update the data for a document. For example, whenaccount information (e.g., account balance), flight information (e.g.,flight number, departure time, boarding time, etc.) or event data (e.g.,time, date or venue) changes the corresponding document stored on themobile device can be updated to reflect the changed information.

In some implementations, documents and/or document templates can beconfigured to present information that is provided by other network(e.g., Internet) resources. For example, a boarding pass documenttemplate can include data fields for departure location and destinationlocation. The boarding pass document template can be configured todisplay weather, traffic or other information associated with thedeparture location and destination location, as described below. In someimplementations, a user can select location information (e.g., selectthe text describing the location) displayed on a document and/ordocument template to invoke a map display corresponding to the selectedlocation.

In some implementations, similar documents can be automatically modifiedto present distinguishing characteristics to enable the user todistinguish between the documents. For example, if the user has two ormore customer loyalty cards from the same vendor, the customer loyaltycard documents can be automatically provisioned with different colors,images, or other features that the user can use to distinguish thecustomer loyalty cards. In some implementations, documents can beautomatically updated to present seasonal or holiday themes. Forexample, documents can be automatically updated to present images offireworks, U.S. flags or other images during the time around the Fourthof July.

In some implementations, documents and/or document templates can beconfigured to present optical scannable objects to facilitationtransactions between a user and a vendor. For example, a document caninclude a linear bar code, a two-dimensional matrix bar code, a quickresponse code, scannable text or other scannable graphic. The opticalscannable object can be encoded with document information that can bedecoded by an optical scanner. The decoded information can then be usedto facilitate transactions between the user and the vendor. For example,the decoded information can include ticket information, accountinformation, user identification information, flight information or anyother information needed for performing a particular transaction.

In some implementations, documents and/or document templates can beconfigured to cause document information to be wirelessly transmittedbetween the user device and a vendor system. For example, near fieldcommunications technologies, Bluetooth and/or other wirelesstransmission technologies can be used to transmit document informationfrom a user device to a vendor system to facilitate transactions betweenthe user and vendor.

FIG. 12 illustrates an example event ticket template 1200. In someimplementations, event ticket template can specify the appearance of anevent ticket document. For example, an event ticket document cancorrespond to a movie ticket, concert ticket or a ticket for gainingentry to any other type of event. The appearance of the event tickettemplate can include a cutout 1202 at the top of the document, forexample. The data fields displayed on the event ticket template caninclude the name of the event, name of the promoter or vendor, thevenue, location, date and time of the event. If seating is assigned, theevent ticket can specify seat information. Event ticket template 1200can include an area for presenting image 1204. For example, image 1204can display an image associated with the event or an image associatedwith the vendor or promoter. Event ticket 1200 can include scannableobject 1206. For example, scannable object 1206 can be an opticalmachine-readable graphic encoded with document information, as describedabove. Event ticket template 1200 can include graphical element 1208 forpresenting configuration options. For example, a user can selectgraphical element 1208 to present graphical interface 1800 of FIG. 18.

FIG. 13 illustrates an example identification card template 1300. Insome implementations, identification card template 1300 can be visuallydistinguishable from other documents by the inclusion of graphicalelement 1302. For example, graphical element 1302 can have theappearance of a hole near the top of the identification card document sothat the identification card document resembles a physicalidentification card (e.g., employee identification card) that a personmight wear around their neck or attached to their clothing.Identification card template 1300 can include data fields for presentinga person's name, identification number and identification card issuer(e.g., employer, government entity, etc.). Identification card template1300 can include image 1304 associated with the person associated withthe identification card document. For example, image 1304 can be apicture of the person's face.

FIG. 14 illustrates an example customer loyalty card template 1400. Forexample, customer loyalty card template can include a vendor/store name,a customer name, customer identification number and/or the nearest storelocation. In some implementations, the customer loyalty card canfunction as a store credit card or store purchase card. For example, acustomer can transfer money to an account associated with the storepurchase card and use the money to purchase items at a store associatedwith the card. In some implementations, customer loyalty card template1400 can include an account balance data field 1402. For example,account balance field 1402 can display an account balance (e.g., fundsavailable) for a store credit card or store purchase card. In someimplementations, the account balance displayed on a customer loyaltycard can be updated dynamically. For example, as the user spends money,adds funds to the account or makes payments to the account associatedwith the customer loyalty card, the balance displayed in the accountbalance field can be updated.

For example, a vendor's server can notify the user's mobile device thata change associated with the user's account has occurred, the mobiledevice can request a data update in response to the change notification,and the data presented on the customer loyalty card can be updated toreflect the changed information. In some implementations, updated orrecently changed information can be highlighted by presenting theinformation using a text color (e.g., red) that is different than thetext colors (e.g., black) used for other data displayed on the customerloyalty card document. In some implementations, updated or recentlychanged information can be highlighted by presenting a graphical element(not shown) indicating that the information has changed. For example,changed information or data can be highlighted by encircling the changedinformation with a line or presenting an icon or other graphical elementthat draws the user's attention to the changed information.

FIG. 15 illustrates an example discount coupon template 1500. In someimplementations, discount coupon template 1500 can specify theappearance of a discount coupon document. For example, a discount coupondocument can correspond to a coupon for obtaining a discount on thepurchase of items from a vendor or store. The appearance of the eventticket template can include an uneven, jagged or perforated edge 1502 atthe top of the document, for example, to distinguish the discount coupondocument from other documents. Discount coupon template 1500 can includedata fields for presenting a vendor/store name, a location of thenearest store and/or terms and conditions associated with the discountcoupon.

Discount coupon template 1500 can include a data field 1504 forpresenting discount information. For example, the discount informationcan indicate a specific monetary discount (e.g., $5.00 off) or apercentage discount (25% off) that the user can get with the purchase ofan item through the vendor or store. In some implementations, thediscount information can be dynamically updated by the vendor. Forexample, the discount coupon can initially provide a discount of 10%.After a week the discount coupon can provide a discount of 20%. As thediscount offered by the vendor increases (or decreases) the vendor cannotify the user's mobile device of the change in information associatedwith the discount coupon document and the mobile device can update thedocument information to present the updated or changed discount. Asdescribed above, the changed information can be highlighted to draw theuser's attention to the changed information.

FIG. 16 illustrates an example boarding pass template 1600. For example,the boarding pass template 1600 can provide data fields for presentingboarding pass document information. The boarding pass documentinformation can include the name of the airline, flight number, gatenumber, seat number, departure location, departure time, boarding time,destination location and/or arrival time, for example. Boarding passtemplate 1600 can specify the locations where the document informationwill be presented when the boarding pass document is displayed. In someimplementations, the boarding pass document information can bedynamically updated. For example, if there is a change in flight (e.g.,the scheduled flight gets delayed or canceled) the information displayedon the boarding pass can be automatically updated to reflect the changedinformation. For example, a change in flight number, departure time,boarding time, gate number seat number, arrival time, etc., can cause anupdate to the data presented in the respective fields of boarding passtemplate 1600.

Boarding pass template 1600 can include dynamic information areas 1602and 1604. For example, information area 1602 can present information(e.g., traffic, weather, etc.) associated with the flight departurelocation. Information area 1604 can present information (e.g., traffic,weather, etc.) associated with the destination location. The informationin the dynamic information areas 1602 and 1604 can be obtained fromvarious network (e.g., Internet) resources (e.g., websites for weather,traffic, etc.). The dynamic information areas 1602 and 1604 can beupdated dynamically as the information changes, for example.

FIG. 17 illustrates an example generic document template 1700. Forexample, generic document template 1700 can be used for determining thepresentation of documents that do not fit into one of the documentcategories described above with respect to FIGS. 12-18. A vendor canprovide document information that can be inserted into the various datafields provided by generic document template 1700. In someimplementations, vendors can specify their own document formats. Forexample, document formats can be specified using a hypertext markuplanguage (HTML). Thus, a document vendor can provide a vendor-specificdocument layout with a customized look and feel.

FIG. 18 illustrates an example graphical interface 1800 for specifyingdocument options. For example, graphical interface 1800 can be invokedand displayed when a user selects graphical element 1208 of FIGS. 12-17.Graphical interface 1800 can include graphical element 1802 for turningon/off automatic document updates. For example, if a user turns onautomatic document updates, the mobile device will receive notificationsfrom the vendor when information associated with the associated documentchanges. The mobile device can then update the document informationassociated with the document and present the information on one of theuser interfaces described above. For example, the updated informationcan be highlighted to reflect what information has changed. If the userturns off automatic document updates, automatic document will not bereceived. For example, the user will have to perform some action withrespect to the document (e.g., cause the document to be displayed) fordocument updates to be received.

Graphical interface 1800 can include graphical element 1804 forspecifying whether the document should be presented on the lock screen(e.g., graphical interface 300) of the mobile device. For example, theuser can select graphical element 1804 to turn lock screen documentnotifications off. When the user turns off lock screen notifications,document notifications will not be displayed on the lock screen of themobile device. The user can select graphical element 1804 to turn lockscreen document notifications on. When the user turns on lock screennotifications, document notifications will be displayed on the mobiledevice, as described with reference to FIG. 3.

FIG. 19 illustrates an example graphical interface 1900 for deletingdocuments from the mobile device. For example, graphical interface 1900can correspond to graphical interface 500 of FIG. 5. Graphical interface1900 can include graphical element 1902 for invoking an edit mode forgraphical interface 1900. For example, a user can select graphicalelement 1902 to cause graphical elements 1904-1912 (e.g., deletebuttons) to be displayed. Alternatively, the user can provide input inthe form of a touch gesture (e.g., a swipe gesture) across an individualdocument to enable editing of a particular document. For example, a usercan perform a swipe gesture across document abstract 1914 to causegraphical element 1904 to appear. The user can select graphical element1902 again to cause graphical elements 1904-1912 to disappear fromdisplay. The user can provide touch input (e.g., a tap) to graphicalinterface 1900 on an area that is not associated with graphical elements1904-1912 to cause graphical elements 1904-1912 to be removed fromdisplay. In some implementations, a user can select one of graphicalelements 1904-1912 to cause the corresponding document to be deleted.

FIG. 20 illustrates an example graphical interface 2000 for deleting adocument. For example, graphical element can be invoked by selecting agraphical element 1904-1912 of FIG. 19. Graphical interface 2000 candisplay document 2002 which can correspond to the document selected fordeletion in graphical interface 1900 of FIG. 19. The user can deletedocument 2002 by selecting graphical element 2004. The user can cancelthe deletion of document 2002 by selecting graphical element 2006.

In some implementations, when a user selects to delete a document, ananimation can be presented. For example, a document shredder animationcan be presented where document 2002 moves across graphical interface200 and appears to enter graphical element 2008. For example, graphicalelement 2008 can have the appearance of a document shredder. As document2002 enters graphical element 2008, document 2002 can appear to beshredded into strips or small pieces of paper, thereby simulating thedestruction of document 2002. In some implementations, presentation ofthe document shredder animation can be accompanied by vibration of themobile device.

In some implementations, when document 2002 is deleted a fire animationcan be displayed. For example, the animation can cause document 2002 toappear to be set on fire and document 2002 can appear to be consumed bythe fire. Ashes from the document fire can fall from document 2002 as itburns and disappear off the bottom of graphical interface 200. In someimplementations, other document destruction animations (e.g.,explosions, crumpling into a ball, dropping in a waste basket, tearinginto pieces, etc.) can be presented.

Example Process

FIG. 21 is flow diagram of an example process 2100 for intelligentlypresenting document notifications on a mobile device. At step 2102,documents can be stored on a mobile device. For example, the mobiledevice can store documents corresponding to boarding passes, customerloyalty cards, identification cards, event tickets, key cards, creditcards and/or any other type of document.

At step 2104, the current location of the mobile device and/or thecurrent time can be determined. For example, the current location of themobile device can be determined based on GNSS data, sensor data,wireless communication data or any other type of data that can be usedto derive a geographic location of the mobile device. The current timecan be determined based on a clock of the mobile device.

At step 2106, documents can be identified based on the current locationand/or time. For example, each document can be associated with one ormore locations. A customer loyalty card document can be associated witha business that has multiple store locations. The store locations can bedownloaded with the document to the mobile device. In someimplementations, only the store locations proximate (e.g., within 1mile, within 5 miles, etc.) will be stored on the mobile device. Themobile device can use the store location information to identifydocuments associated with locations proximate to the mobile device. Insome implementations, documents can be associated with a time (e.g.,date and time). For example, documents can have expiration dates. Themobile device can use the date and/or time information associated withthe document to identify documents associated with dates and/or timesthat are close to the current time.

In some implementations, documents can be identified based on a patternof usage. For example, the mobile device can track when and/or where adocument is most often used by the user. When the mobile devicedetermines that the current location of the mobile device is at alocation corresponding to frequent use of the document, the mobiledevice can present a document notification allowing the user to quicklyaccess the document at the location. Similarly, when the mobile devicedetermines that the current time corresponds to a time when the documentis frequently used, the mobile device can present a documentnotification allowing the user to quickly access the document.

At step 2108, the identified documents can be presented on a display ofthe mobile device. When the mobile device is near a location associatedwith a document, a document notification can be presented on the displayof the mobile device. As the current time nears the date/time associatedwith a document, a document notification can be presented on the displayof the mobile device. In some implementations, the identified documentscan be presented on a lock screen of the mobile device. For example,document notifications corresponding to the identified documents can bedisplayed on the lock screen of the mobile device so that the user canquickly access the documents from the lock screen interface.

At step 2110, user input associated with a document can be received. Forexample a user can select a document notification that has beenpresented on the lock screen of the mobile device to cause thecorresponding document to be displayed at step 2112. Additional detailsof process 2100 are described with reference to FIGS. 1-20 above.

FIG. 22 is flow diagram of an example process 2200 for presentingdocuments on a mobile device. At step 2202, documents can be stored on amobile device. For example, the mobile device can store documentscorresponding to boarding passes, customer loyalty cards, identificationcards, event tickets, key cards, credit cards and/or any other type ofdocument.

At step 2204, the mobile device can receive an invocation of a documentmanagement interface. For example, the user can invoke a documentmanagement application on the mobile device to view the documents thatare stored on the mobile device. At step 2206, the mobile device candisplay the stored documents. For example, the mobile device can displaythe documents as described above with reference to FIGS. 3-19.

At step 2208, the mobile device can receive a selection of a document.For example, the user can provide input selecting a document abstract tocause the mobile device to present a full view of the associateddocument at step 2210. Additional details of process 2200 are describedwith reference to FIGS. 1-20 above.

FIG. 23 is flow diagram of an example process 2300 for receiving andstoring documents on a mobile device. At step 2302, document informationcan be received by the mobile device. For example, the mobile device canreceive document information from a website through a browser. Themobile device can receive document information from vendor serverthrough a client application stored on the mobile device. The mobiledevice can receive document information by email. The mobile device canreceive document information through wireless transmission (e.g.,near-field communication, Bluetooth, Wi-Fi, etc.). The mobile device canreceive document information through an ad-hoc (e.g., device to device)network connection, for example.

The document information can be generated and transmitted as a result ofa transaction between a user of the device and a document vendor. Thetransaction can be a purchase transaction. For example, the use canpurchase a boarding pass, event ticket, or other document. Thetransaction can be a subscription transaction. For example, the user cansubscribe to a customer loyalty program. Once the transaction iscomplete, the vendor can transmit the document information to the user.

At step 2304, a document can be generated based on the received documentinformation. In some implementations, the document information caninclude all of the information necessary for generating a document onthe mobile device. For example, the vendor-provided document informationcan include all of the information needed to identify a documenttemplate and populate the document template with data. In someimplementations, the document information can include only a minimumamount of information needed to retrieve the full set of documentinformation from a vendor server. For example, the minimum amount ofinformation can include a transaction identifier, account identifier,user identifier, or other information that can be used to retrievedocument information from the vendor's server. Once the identifier(e.g., transaction identifier) is received, the mobile device can accessthe vendor's server and download the complete information for thedocument. Once the mobile device has a complete set of documentinformation, the mobile device can generate the document. The documentcan then be stored on the mobile device at step 2306. Additional detailsof process 2300 are described with reference to FIGS. 1-20 above.

Example System Architecture

FIG. 24 is a block diagram of an example computing device 2400 that canimplement the features and processes of FIGS. 1-23. The computing device2400 can include a memory interface 2402, one or more data processors,image processors and/or central processing units 2404, and a peripheralsinterface 2406. The memory interface 2402, the one or more processors2404 and/or the peripherals interface 2406 can be separate components orcan be integrated in one or more integrated circuits. The variouscomponents in the computing device 2400 can be coupled by one or morecommunication buses or signal lines.

Sensors, devices, and subsystems can be coupled to the peripheralsinterface 2406 to facilitate multiple functionalities. For example, amotion sensor 2410, a light sensor 2412, and a proximity sensor 2414 canbe coupled to the peripherals interface 2406 to facilitate orientation,lighting, and proximity functions. Other sensors 2416 can also beconnected to the peripherals interface 2406, such as a global navigationsatellite system (GNSS) (e.g., GPS receiver), a temperature sensor, abiometric sensor, or other sensing device, to facilitate relatedfunctionalities.

A camera subsystem 2420 and an optical sensor 2422, e.g., a chargedcoupled device (CCD) or a complementary metal-oxide semiconductor (CMOS)optical sensor, can be utilized to facilitate camera functions, such asrecording photographs and video clips. The camera subsystem 2420 and theoptical sensor 2422 can be used to collect images of a user to be usedduring authentication of a user, e.g., by performing facial recognitionanalysis.

Communication functions can be facilitated through one or more wirelesscommunication subsystems 2424, which can include radio frequencyreceivers and transmitters and/or optical (e.g., infrared) receivers andtransmitters. The specific design and implementation of thecommunication subsystem 2424 can depend on the communication network(s)over which the computing device 2400 is intended to operate. Forexample, the computing device 2400 can include communication subsystems2424 designed to operate over a GSM network, a GPRS network, an EDGEnetwork, a Wi-Fi or WiMax network, and a Bluetooth™ network. Inparticular, the wireless communication subsystems 2424 can includehosting protocols such that the device 100 can be configured as a basestation for other wireless devices.

An audio subsystem 2426 can be coupled to a speaker 2428 and amicrophone 2430 to facilitate voice-enabled functions, such as speakerrecognition, voice replication, digital recording, and telephonyfunctions. The audio subsystem 2426 can be configured to facilitateprocessing voice commands for invoking the features and processesdescribed above with reference to FIGS. 1-23.

The I/O subsystem 2440 can include a touch-surface controller 2442and/or other input controller(s) 2444. The touch-surface controller 2442can be coupled to a touch surface 2446. The touch surface 2446 andtouch-surface controller 2442 can, for example, detect contact andmovement or break thereof using any of a plurality of touch sensitivitytechnologies, including but not limited to capacitive, resistive,infrared, and surface acoustic wave technologies, as well as otherproximity sensor arrays or other elements for determining one or morepoints of contact with the touch surface 2446.

The other input controller(s) 2444 can be coupled to other input/controldevices 2448, such as one or more buttons, rocker switches, thumb-wheel,infrared port, USB port, and/or a pointer device such as a stylus. Theone or more buttons (not shown) can include an up/down button for volumecontrol of the speaker 2428 and/or the microphone 2430.

In one implementation, a pressing of the button for a first duration candisengage a lock of the touch surface 2446; and a pressing of the buttonfor a second duration that is longer than the first duration can turnpower to the computing device 2400 on or off. Pressing the button for athird duration can activate a voice control, or voice command, modulethat enables the user to speak commands into the microphone 2430 tocause the device to execute the spoken command. The user can customize afunctionality of one or more of the buttons. The touch surface 2446 can,for example, also be used to implement virtual or soft buttons and/or akeyboard.

In some implementations, the computing device 2400 can present recordedaudio and/or video files, such as MP3, AAC, and MPEG files. In someimplementations, the computing device 2400 can include the functionalityof an MP3 player, such as an iPod™. The computing device 2400 can,therefore, include a 36-pin connector that is compatible with the iPod.Other input/output and control devices can also be used.

The memory interface 2402 can be coupled to memory 2450. The memory 2450can include high-speed random access memory and/or non-volatile memory,such as one or more magnetic disk storage devices, one or more opticalstorage devices, and/or flash memory (e.g., NAND, NOR). The memory 2450can store an operating system 2452, such as Darwin, RTXC, LINUX, UNIX,OS X, WINDOWS, or an embedded operating system such as VxWorks.

The operating system 2452 can include instructions for handling basicsystem services and for performing hardware dependent tasks. In someimplementations, the operating system 2452 can be a kernel (e.g., UNIXkernel). In some implementations, the operating system 2452 can includeinstructions for intelligent presentation of documents. For example,operating system 2452 can implement the document notification featuresas described with reference to FIGS. 1-23.

The memory 2450 can also store communication instructions 2454 tofacilitate communicating with one or more additional devices, one ormore computers and/or one or more servers. The memory 2450 can includegraphical user interface instructions 2456 to facilitate graphic userinterface processing; sensor processing instructions 2458 to facilitatesensor-related processing and functions; phone instructions 2460 tofacilitate phone-related processes and functions; electronic messaginginstructions 2462 to facilitate electronic-messaging related processesand functions; web browsing instructions 2464 to facilitate webbrowsing-related processes and functions; media processing instructions2466 to facilitate media processing-related processes and functions;GNSS/Navigation instructions 2468 to facilitate GNSS andnavigation-related processes and instructions; and/or camerainstructions 2470 to facilitate camera-related processes and functions.

The memory 2450 can store other software instructions 2472 to facilitateother processes and functions, such as the security and/orauthentication processes and functions as described with reference toFIGS. 1-23. For example, the software instructions can includeinstructions for receiving, generating, storing and presenting documentsas described above with reference to FIGS. 1-23.

The memory 2450 can also store other software instructions (not shown),such as web video instructions to facilitate web video-related processesand functions; and/or web shopping instructions to facilitate webshopping-related processes and functions. In some implementations, themedia processing instructions 2466 are divided into audio processinginstructions and video processing instructions to facilitate audioprocessing-related processes and functions and video processing-relatedprocesses and functions, respectively. An activation record andInternational Mobile Equipment Identity (IMEI) 2474 or similar hardwareidentifier can also be stored in memory 2450.

Each of the above identified instructions and applications cancorrespond to a set of instructions for performing one or more functionsdescribed above. These instructions need not be implemented as separatesoftware programs, procedures, or modules. The memory 2450 can includeadditional instructions or fewer instructions. Furthermore, variousfunctions of the computing device 2400 can be implemented in hardwareand/or in software, including in one or more signal processing and/orapplication specific integrated circuits.

Therefore, according to the above, some examples of the disclosure aredirected to a method comprising: storing one or more documents on acomputing device; determining a context of the computing device; basedon the context, identifying at least one of the one or more documents topresent on a display of the computing device; and presenting the atleast one identified document on a display of the computing device.Additionally or alternatively to one or more of the examples disclosedabove, in some examples determining a context of the computing devicecomprises determining a current time, and the method further comprising:comparing the current time to one or more preconfigured times associatedwith the one or more documents, where each document is associated withat least one preconfigured time; and identifying the at least oneidentified document based on the comparison. Additionally oralternatively to one or more of the examples disclosed above, in someexamples determining a context of the computing device comprisesdetermining a current location of the computing device, and the methodfurther comprising: comparing the current location to one or morepreconfigured locations associated with the one or more documents, whereeach document is associated with at least one preconfigured location;and identifying the at least one identified document based on thecomparison. Additionally or alternatively to one or more of the examplesdisclosed above, in some examples presenting the at least one identifieddocument comprises presenting the at least one identified document on adisplay of the computing device when the device is in a locked state.Additionally or alternatively to one or more of the examples disclosedabove, in some examples presenting the at least one identified documentcomprises presenting an abstract of the at least one identified documenton a display of the computing device. Additionally or alternatively toone or more of the examples disclosed above, in some examples the methodfurther comprises receiving user input selecting the at least oneidentified document; and presenting an optical machine-readablerepresentation of data associated with the at least one identifieddocument on the display of the computing device. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a ticket to an event. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a boarding pass. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a business loyalty document.Additionally or alternatively to one or more of the examples disclosedabove, in some examples the document corresponds to an identificationdocument associated with a user of the computing device. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a coupon.

Some examples of the disclosure are directed to a method comprising:storing a plurality of documents on a mobile device; presentingabstracts associated with the plurality of documents on a display of themobile device; receiving, from a user, a selection of an abstractcorresponding to a particular one of the plurality of documents; and inresponse to receiving the selection, presenting the particular documenton the display of the mobile device. Additionally or alternatively toone or more of the examples disclosed above, in some examples presentingthe abstracts associated with the plurality of documents comprisespresenting the documents in an overlapping presentation. Additionally oralternatively to one or more of the examples disclosed above, in someexamples presenting the particular document comprises presenting ananimation that causes the plurality of documents that were not selectedto move to the edge of the display. Additionally or alternatively to oneor more of the examples disclosed above, in some examples presenting theparticular document comprises presenting an optical machine-readablerepresentation of data associated with the particular document on thedisplay of the mobile device. Additionally or alternatively to one ormore of the examples disclosed above, in some examples the particulardocument belongs to a group of associated documents and presenting theparticular document comprises presenting one of the documents in thegroup; and the method further comprises: while the particular documentis presented, receiving input for displaying another document in thegroup of associated documents; and presenting another document in thegroup on the display of the mobile device. Additionally or alternativelyto one or more of the examples disclosed above, in some examples thedisplay is a touch-sensitive display and the input for displayinganother document comprises touch input to the touch-sensitive display.Additionally or alternatively to one or more of the examples disclosedabove, in some examples the method further comprises receiving input fordeleting the particular document; and presenting an animation thatappears to shred the particular document. Additionally or alternativelyto one or more of the examples disclosed above, in some examples themethod further comprises causing the mobile device to vibrate whilepresenting the shredder animation.

Some examples of the disclosure are directed to a non-transitorycomputer-readable medium including one or more sequences of instructionswhich, when executed by one or more processors, causes: storing one ormore documents on a computing device; determining a context of thecomputing device; based on the context, identifying at least one of theone or more documents to present on a display of the computing device;and presenting the at least one identified document on a display of thecomputing device. Additionally or alternatively to one or more of theexamples disclosed above, in some examples the instructions that causedetermining a context of the computing device comprise instructions thatcause determining a current time and wherein the instructions cause:comparing the current time to one or more preconfigured times associatedwith the one or more documents, where each document is associated withat least one preconfigured time; and identifying the at least oneidentified document based on the comparison. Additionally oralternatively to one or more of the examples disclosed above, in someexamples instructions that cause determining a context of the computingdevice comprise instructions that cause determining a current location.of the computing device and wherein the instructions cause: comparingthe current location to one or more preconfigured locations associatedwith the one or more documents, where each document is associated withat least one preconfigured location; and identifying the at least oneidentified document based on the comparison. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the instructions that cause presenting the at least oneidentified document comprise instructions that cause presenting the atleast one identified document on a display of the computing device whenthe device is in a locked state. Additionally or alternatively to one ormore of the examples disclosed above, in some examples the instructionsthat cause presenting the at least one identified document compriseinstructions that cause presenting an abstract of the at least oneidentified document on a display of the computing device. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the instructions cause: receiving user input selecting the atleast one identified document; and presenting an opticalmachine-readable representation of data associated with the at least oneidentified document on the display of the computing device. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a ticket to an event. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a boarding pass. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a business loyalty document.Additionally or alternatively to one or more of the examples disclosedabove, in some examples the document corresponds to an identificationdocument associated with a user of the computing device. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a coupon.

Some examples of the disclosure are directed to a non-transitorycomputer-readable medium including one or more sequences of instructionswhich, when executed by one or more processors, causes: storing aplurality of documents on a mobile device; presenting abstractsassociated with the plurality of documents on a display of the mobiledevice; receiving a selection of an abstract corresponding to aparticular one of the plurality of documents; and in response toreceiving the selection, presenting the particular document on thedisplay of the mobile device. Additionally or alternatively to one ormore of the examples disclosed above, in some examples the instructionsthat cause presenting the abstracts associated with the plurality ofdocuments comprise instructions that cause presenting the documents inan overlapping presentation. Additionally or alternatively to one ormore of the examples disclosed above, in some examples the instructionsthat cause presenting the particular document comprise instructions thatcause presenting an animation that causes the plurality of documentsthat were not selected to move to the edge of the display. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the instructions that cause presenting the particular documentcomprise instructions that cause presenting an optical machine-readablerepresentation of data associated with the particular document on thedisplay of the mobile device. Additionally or alternatively to one ormore of the examples disclosed above, in some examples the particulardocument belongs to a group of associated documents and the instructionsthat cause presenting the particular document comprise instructions thatcause presenting one of the documents in the group; and wherein theinstructions cause: while the particular document is presented,receiving input for displaying another document in the group ofassociated documents; and presenting another document in the group onthe display of the mobile device. Additionally or alternatively to oneor more of the examples disclosed above, in some examples the display isa touch-sensitive display and the input for displaying another documentcomprises touch input to the touch-sensitive display. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the instructions cause: receiving input for deleting theparticular document; and presenting an animation that appears to shredthe particular document. Additionally or alternatively to one or more ofthe examples disclosed above, in some examples the instructions themobile device to vibrate while presenting the shredder animation.

Some examples of the disclosure are directed to a system comprising: oneor more processors; and a computer-readable medium including one or moresequences of instructions which, when executed by the one or moreprocessors, causes: storing one or more documents on a computing device;determining a context of the computing device; based on the context,identifying at least one of the one or more documents to present on adisplay of the computing device; and presenting the at least oneidentified document on a display of the computing device. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the instructions that cause determining a context of thecomputing device comprise instructions that cause determining a currenttime and wherein the instructions cause: comparing the current time toone or more preconfigured times associated with the one or moredocuments, where each document is associated with at least onepreconfigured time; and identifying the at least one identified documentbased on the comparison. Additionally or alternatively to one or more ofthe examples disclosed above, in some examples the instructions thatcause determining a context of the computing device compriseinstructions that cause determining a current location of the computingdevice and wherein the instructions cause: comparing the currentlocation to one or more preconfigured locations associated with the oneor more documents, where each document is associated with at least onepreconfigured location; and identifying the at least one identifieddocument based on the comparison. Additionally or alternatively to oneor more of the examples disclosed above, in some examples theinstructions that cause presenting the at least one identified documentcomprise instructions that cause presenting the at least one identifieddocument on a display of the computing device when the device is in alocked state. Additionally or alternatively to one or more of theexamples disclosed above, in some examples the instructions that causepresenting the at least one identified document comprise instructionsthat cause presenting an abstract of the at least one identifieddocument on a display of the computing device. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the instructions cause: receiving user input selecting the atleast one identified document; and presenting an opticalmachine-readable representation of data associated with the at least oneidentified document on the display of the computing device. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a ticket to an event. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a boarding pass. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a business loyalty document.Additionally or alternatively to one or more of the examples disclosedabove, in some examples the document corresponds to an identificationdocument associated with a user of the computing device. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the document corresponds to a coupon.

Some examples of the disclosure are directed to a system comprising: oneor more processors; and a computer-readable medium including one or moresequences of instructions which, when executed by the one or moreprocessors, causes: storing a plurality of documents on a mobile device;presenting abstracts associated with the plurality of documents on adisplay of the mobile device; receiving a selection of an abstractcorresponding to a particular one of the plurality of documents; and inresponse to receiving the selection, presenting the particular documenton the display of the mobile device. Additionally or alternatively toone or more of the examples disclosed above, in some examples theinstructions that cause presenting the abstracts associated with theplurality of documents comprise instructions that cause presenting thedocuments in an overlapping presentation. Additionally or alternativelyto one or more of the examples disclosed above, in some examples theinstructions that cause presenting the particular document compriseinstructions that cause presenting an animation that causes theplurality of documents that were not selected to move to the edge of thedisplay. Additionally or alternatively to one or more of the examplesdisclosed above, in some examples the instructions that cause presentingthe particular document comprise instructions that cause presenting anoptical machine-readable representation of data associated with theparticular document on the display of the mobile device. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the particular document belongs to a group of associateddocuments and the instructions that cause presenting the particulardocument comprise instructions that cause presenting one of thedocuments in the group; and wherein the instructions cause: while theparticular document is presented, receiving input for displaying anotherdocument in the group of associated documents; and presenting anotherdocument in the group on the display of the mobile device. Additionallyor alternatively to one or more of the examples disclosed above, in someexamples the display is a touch-sensitive display and the input fordisplaying another document comprises touch input to the touch-sensitivedisplay. Additionally or alternatively to one or more of the examplesdisclosed above, in some examples the instructions cause: receivinginput for deleting the particular document; and presenting an animationthat appears to shred the particular document. Additionally oralternatively to one or more of the examples disclosed above, in someexamples the instructions cause the mobile device to vibrate whilepresenting the shredder animation. Additionally or alternatively to oneor more of the examples disclosed above, in some examples the methodfurther comprises: in response to receiving the selection, biometricallyverifying that the user is an authorized user of the particulardocument; and presenting the particular document on the display of themobile device when the user is verified to be an authorized user of theparticular document. Additionally or alternatively to one or more of theexamples disclosed above, in some examples biometrically verifying theuser comprises: capturing a fingerprint of the user at a time proximateto receiving the selection; and comparing the captured fingerprint to aauthenticated fingerprint of an authorized user of the particulardocument. Additionally or alternatively to one or more of the examplesdisclosed above, in some examples biometrically verifying the usercomprises: capturing an image of the user at a time proximate toreceiving the selection; and comparing the captured image to aauthenticated image of an authorized user of the particular document.

What is claimed is:
 1. A method comprising: storing one or moredocuments on a computing device; determining a context of the computingdevice; based on the context, identifying at least one of the one ormore documents to present on a display of the computing device; andpresenting the at least one identified document on a display of thecomputing device.
 2. The method of claim 1, wherein determining acontext of the computing device comprises determining a current time andfurther comprising: comparing the current time to one or morepreconfigured times associated with the one or more documents, whereeach document is associated with at least one preconfigured time; andidentifying the at least one identified document based on thecomparison.
 3. The method of claim 1, wherein determining a context ofthe computing device comprises determining a current location of thecomputing device and further comprising: comparing the current locationto one or more preconfigured locations associated with the one or moredocuments, where each document is associated with at least onepreconfigured location; and identifying the at least one identifieddocument based on the comparison.
 4. The method of claim 1, whereinpresenting the at least one identified document comprises presenting theat least one identified document on a display of the computing devicewhen the device is in a locked state.
 5. The method of claim 1, whereinpresenting the at least one identified document comprises presenting anabstract of the at least one identified document on a display of thecomputing device.
 6. The method of claim 5, further comprising:receiving user input selecting the at least one identified document; andpresenting an optical machine-readable representation of data associatedwith the at least one identified document on the display of thecomputing device.
 7. The method of claim 1, wherein the documentcorresponds to a ticket to an event.
 8. The method of claim 1, whereinthe document corresponds to a boarding pass.
 9. A non-transitorycomputer-readable medium including one or more sequences of instructionswhich, when executed by one or more processors, causes: storing one ormore documents on a computing device; determining a context of thecomputing device; based on the context, identifying at least one of theone or more documents to present on a display of the computing device;and presenting the at least one identified document on a display of thecomputing device.
 10. The computer-readable medium of claim 9, whereinthe instructions that cause determining a context of the computingdevice comprise instructions that cause determining a current time andwherein the instructions cause: comparing the current time to one ormore preconfigured times associated with the one or more documents,where each document is associated with at least one preconfigured time;and identifying the at least one identified document based on thecomparison.
 11. The computer-readable medium of claim 9, whereininstructions that cause determining a context of the computing devicecomprise instructions that cause determining a current location of thecomputing device and wherein the instructions cause: comparing thecurrent location to one or more preconfigured locations associated withthe one or more documents, where each document is associated with atleast one preconfigured location; and identifying the at least oneidentified document based on the comparison.
 12. The computer-readablemedium of claim 9, wherein the instructions that cause presenting the atleast one identified document comprise instructions that causepresenting the at least one identified document on a display of thecomputing device when the device is in a locked state.
 13. Thecomputer-readable medium of claim 9, wherein the instructions that causepresenting the at least one identified document comprise instructionsthat cause presenting an abstract of the at least one identifieddocument on a display of the computing device.
 14. The computer-readablemedium of claim 13, wherein the instructions cause: receiving user inputselecting the at least one identified document; and presenting anoptical machine-readable representation of data associated with the atleast one identified document on the display of the computing device.15. The computer-readable medium of claim 9, wherein the documentcorresponds to a ticket to an event.
 16. The computer-readable medium ofclaim 9, wherein the document corresponds to a boarding pass.
 17. Thecomputer-readable medium of claim 9, wherein the document corresponds toa business loyalty document.
 18. The computer-readable medium of claim9, wherein the document corresponds to an identification documentassociated with a user of the computing device.
 19. Thecomputer-readable medium of claim 9, wherein the document corresponds toa coupon.
 20. A system comprising: one or more processors; and acomputer-readable medium including one or more sequences of instructionswhich, when executed by the one or more processors, causes: storing oneor more documents on a computing device; determining a context of thecomputing device; based on the context, identifying at least one of theone or more documents to present on a display of the computing device;and presenting the at least one identified document on a display of thecomputing device.
 21. The system of claim 20, wherein the instructionsthat cause determining a context of the computing device compriseinstructions that cause determining a current time and wherein theinstructions cause: comparing the current time to one or morepreconfigured times associated with the one or more documents, whereeach document is associated with at least one preconfigured time; andidentifying the at least one identified document based on thecomparison.
 22. The system of claim 20, wherein the instructions thatcause determining a context of the computing device compriseinstructions that cause determining a current location of the computingdevice and wherein the instructions cause: comparing the currentlocation to one or more preconfigured locations associated with the oneor more documents, where each document is associated with at least onepreconfigured location; and identifying the at least one identifieddocument based on the comparison.
 23. The system of claim 20, whereinthe instructions that cause presenting the at least one identifieddocument comprise instructions that cause presenting the at least oneidentified document on a display of the computing device when the deviceis in a locked state.
 24. The system of claim 20, wherein theinstructions that cause presenting the at least one identified documentcomprise instructions that cause presenting an abstract of the at leastone identified document on a display of the computing device.
 25. Thesystem of claim 24, wherein the instructions cause: receiving user inputselecting the at least one identified document; and presenting anoptical machine-readable representation of data associated with the atleast one identified document on the display of the computing device.